/**
 * ecology 工具类
 */
//隔时检查工具类
function dataCheck(){
	//数据对象
	var dataObj={
			time:2000,//运行间隔
			_mn:[],//主表字段数组
			_dt:[],//明细字段数组
			_isStartCheck:true,//是否一开始就进行数据检测
			_indexnum:"indexnum0",//明细扫描依赖数据，如检测明细2，请修改
			_nowData:{},//记录上次记录数据
			_updateNowData:function(){
				//更新缓存池数据
				//主表
				//完成方法触发，再次循环修改被被修改数据
				for(var i=0;i<dataObj._mn.length;i++){
					var mnData=dataObj._mn[i];
					//遍历一组数据字段id
					for(var j=0;j<mnData.id.length;j++){
						
						var fieldObj=jQuery("#"+mnData.id[j]);
						//数据存在，并且与上次数据不同
						if(typeof(fieldObj)!="undefined"&&fieldObj.val()!=dataObj._nowData[mnData.id[j]]){
							dataObj._nowData[mnData.id[j]]=fieldObj.val();
						}
					}
				}
				//明细
				var indexnum=jQuery("#"+dataObj._indexnum).val();
				//完成方法触发，再次循环修改被被修改数据
				for(var k=0;k<indexnum;k++){
					for(var i=0;i<dataObj._dt.length;i++){
						var dtData=dataObj._dt[i];
						//遍历一组数据字段id
						for(var j=0;j<dtData.id.length;j++){
							var fieldObj=jQuery("#"+dtData.id[j]+"_"+k);
							//数据存在，并且与上次数据不同
							if(typeof(fieldObj)!="undefined"&&fieldObj.val()!=dataObj._nowData[dtData.id[j]+"_"+k]){
								dataObj._nowData[dtData.id[j]+"_"+k]=fieldObj.val();
							}
						}
					}
				}
			},
			_doCallBack:function(){
				//遍历_mn主数据监测
				for(var i=0;i<dataObj._mn.length;i++){
					var mnData=dataObj._mn[i];
					//遍历一组数据字段id
					for(var j=0;j<mnData.id.length;j++){
						var fieldObj=jQuery("#"+mnData.id[j]);
						//数据存在，并且与上次数据不同
						if(typeof(fieldObj)!="undefined"&&fieldObj.val()!=dataObj._nowData[mnData.id[j]]){
							//调用方法
							mnData.fun(mnData.id);
							break;
						}
					}
				}
				
				//进行明细处理
				//行循环
				var indexnum=jQuery("#"+dataObj._indexnum).val();
				for(var k=0;k<indexnum;k++){
					//遍历_dt主数据监测
					for(var i=0;i<dataObj._dt.length;i++){
						var dtData=dataObj._dt[i];
						//遍历一组数据字段id
						for(var j=0;j<dtData.id.length;j++){
							var fieldObj=jQuery("#"+dtData.id[j]+"_"+k);
							//数据存在，并且与上次数据不同 同时需要记录下标
							if(typeof(fieldObj)!="undefined"&&fieldObj.val()!=dataObj._nowData[dtData.id[j]+"_"+k]){
								//调用方法,并且传入下标
								dtData.fun(k,dtData.id);
								break;
							}
						}
					}
				}
				//明细遍历结束
				//进行上次数据变化记录
				dataObj._updateNowData();
				
			}
			
	};
	//暴露数组部分数据，方便修改
	this.mn=dataObj._mn;
	this.dt=dataObj._dt;
	this.indexnum=dataObj._indexnum;
	//任务开始
	this.start=function(time){//开始运行
		if(arguments.length>0&&typeof(time)=="number"){
			dataObj.time=time;
		}
		//开始检测的时候是否进行数据的第一次更改
		if(!dataObj._isStartCheck){
			dataObj._updateNowData();
		}
		window.setInterval(dataObj._doCallBack, dataObj.time);
		return this;
	};
	//用于更改配置下列
	
	this.isStartCheck=function(obj){
		dataObj._isStartCheck=obj;
		return this;
	}
	//插入主表数据
	this.addField=function(id,fun){
		//检测数据参数
		var data=[];
		if(id!=""&&typeof(id)!="undefined"){
			if(typeof(id)=="string"||typeof(id)=="number"){
				data.push(id);
			}else{
				data=id;
			}
		}
		
		if(typeof(fun)=="function"){
			//加入到主表数据中
			dataObj._mn.push({id:data,fun:fun})
		}
		return this;
	};
	//插入明细数据
	this.addDtField=function(id,fun){
		//检测数据参数
		var data=[];
		if(id!=""&&typeof(id)!="undefined"){
			if(typeof(id)=="string"||typeof(id)=="number"){
				data.push(id);
			}else{
				data=id;
			}
		}
		if(typeof(fun)=="function"){
			//加入到主表数据中
			dataObj._dt.push({id:data,fun:fun})
		}
		return this;
	};
	
}
//对时间格式进行拼接解析后反馈毫秒
function toDate(date,time){
	var strs=date.split("-");
	var strDate=strs[1]+"-"+strs[2]+"-"+strs[0];
	var a=strDate;
	//var strTime=strs[0]+","+strs[1]+",00";
	if(arguments.length>1){
		a+=" "+time;
	}
	var date1=new Date(a);
	return date1.getTime();
}


function ajaxFunction(urls,datas,callbackFunction,async){
	jQuery.ajax({
		url:urls,
		data:datas,
		type:"post",
		async:arguments==4?async:true,
		success:callbackFunction
	});
}
//文本字段隐藏
function hideField(fieldid){
	var field=jQuery("#field"+fieldid);
	field.hide();
	setFMVal(fieldid,field.val());
}
//字段赋值
function setFMVal(id,v,h)
		{
			var ismandStr = "<img src='/images/BacoError.gif' align='absmiddle'>";
			var x= jQuery('#field'+id);
					if(x.length > 0){
						x.attr({'value':v});
						if(x.attr('type') == 'hidden' || document.getElementById('field'+id).style.display == 'none'){
							jQuery('#field'+id+'span').html('');
							if(arguments.length>2){
								jQuery('#field'+id+'span').html(h);
							}else{
								jQuery('#field'+id+'span').html(v);
							}
							
						}else{
							var viewtype = x.attr('viewtype');
							if(viewtype == 1 && (!v || v == '')){
								jQuery('#field'+id+'span').html(ismandStr);
							}else{
								jQuery('#field'+id+'span').html('');
							}
						}
					}	
		}